1 module directx.d3d10misc; 2 ////////////////////////////////////////////////////////////////////////////// 3 // 4 // Copyright (c) Microsoft Corporation. All rights reserved. 5 // 6 // File: D3D10Misc.h 7 // Content: D3D10 Device Creation APIs 8 // 9 ////////////////////////////////////////////////////////////////////////////// 10 11 version(Windows): 12 version(Direct3D_10): 13 14 public import directx.d3d10; 15 16 alias DWORD D3D10_DRIVER_TYPE; 17 enum : D3D10_DRIVER_TYPE { 18 D3D10_DRIVER_TYPE_HARDWARE = 0, 19 D3D10_DRIVER_TYPE_REFERENCE = 1, 20 D3D10_DRIVER_TYPE_NULL = 2, 21 D3D10_DRIVER_TYPE_SOFTWARE = 3, 22 D3D10_DRIVER_TYPE_WARP = 5 23 } 24 25 /////////////////////////////////////////////////////////////////////////// 26 // D3D10CreateDevice 27 // ------------------ 28 // 29 // pAdapter 30 // If NULL, D3D10CreateDevice will choose the primary adapter and 31 // create a new instance from a temporarily created IDXGIFactory. 32 // If non-NULL, D3D10CreateDevice will register the appropriate 33 // device, if necessary (via IDXGIAdapter::RegisterDrver), before 34 // creating the device. 35 // DriverType 36 // Specifies the driver type to be created: hardware, reference or 37 // null. 38 // Software 39 // HMODULE of a DLL implementing a software rasterizer. Must be NULL for 40 // non-Software driver types. 41 // Flags 42 // Any of those documented for D3D10CreateDevice. 43 // SDKVersion 44 // SDK version. Use the D3D10_SDK_VERSION macro. 45 // ppDevice 46 // Pointer to returned interface. 47 // 48 // Return Values 49 // Any of those documented for 50 // CreateDXGIFactory 51 // IDXGIFactory::EnumAdapters 52 // IDXGIAdapter::RegisterDriver 53 // D3D10CreateDevice 54 // 55 /////////////////////////////////////////////////////////////////////////// 56 57 __gshared _D3D10CreateDevice D3D10CreateDevice; 58 59 extern (Windows) { 60 alias _D3D10CreateDevice = HRESULT function(IDXGIAdapter pAdapter, 61 D3D10_DRIVER_TYPE DriverType, 62 HMODULE Software, 63 UINT Flags, 64 UINT SDKVersion, 65 ID3D10Device *ppDevice); 66 } 67 68 /////////////////////////////////////////////////////////////////////////// 69 // D3D10CreateDeviceAndSwapChain 70 // ------------------------------ 71 // 72 // ppAdapter 73 // If NULL, D3D10CreateDevice will choose the primary adapter and 74 // create a new instance from a temporarily created IDXGIFactory. 75 // If non-NULL, D3D10CreateDevice will register the appropriate 76 // device, if necessary (via IDXGIAdapter::RegisterDrver), before 77 // creating the device. 78 // DriverType 79 // Specifies the driver type to be created: hardware, reference or 80 // null. 81 // Software 82 // HMODULE of a DLL implementing a software rasterizer. Must be NULL for 83 // non-Software driver types. 84 // Flags 85 // Any of those documented for D3D10CreateDevice. 86 // SDKVersion 87 // SDK version. Use the D3D10_SDK_VERSION macro. 88 // pSwapChainDesc 89 // Swap chain description, may be NULL. 90 // ppSwapChain 91 // Pointer to returned interface. May be NULL. 92 // ppDevice 93 // Pointer to returned interface. 94 // 95 // Return Values 96 // Any of those documented for 97 // CreateDXGIFactory 98 // IDXGIFactory::EnumAdapters 99 // IDXGIAdapter::RegisterDriver 100 // D3D10CreateDevice 101 // IDXGIFactory::CreateSwapChain 102 // 103 /////////////////////////////////////////////////////////////////////////// 104 105 __gshared _D3D10CreateDeviceAndSwapChain D3D10CreateDeviceAndSwapChain; 106 107 extern (Windows) { 108 alias _D3D10CreateDeviceAndSwapChain = HRESULT function( 109 IDXGIAdapter pAdapter, 110 D3D10_DRIVER_TYPE DriverType, 111 HMODULE Software, 112 UINT Flags, 113 UINT SDKVersion, 114 DXGI_SWAP_CHAIN_DESC* pSwapChainDesc, 115 IDXGISwapChain* ppSwapChain, 116 ID3D10Device* ppDevice); 117 } 118 119 /////////////////////////////////////////////////////////////////////////// 120 // D3D10CreateBlob: 121 // ----------------- 122 // Creates a Buffer of n Bytes 123 ////////////////////////////////////////////////////////////////////////// 124 125 __gshared _D3D10CreateBlob D3D10CreateBlob; 126 127 alias _D3D10CreateBlob = HRESULT function(SIZE_T NumBytes, LPD3D10BLOB ppBuffer);